package com.zbkj.common.request.user;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @Auther:
 * @Date: 2024/7/11 15:44
 * @Description:
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "AdminClientUserRequest对象", description = "服务端-客户用户请求对象")
public class AdminClientUserRequest implements Serializable {
    private static final long serialVersionUID = 1L;


    @ApiModelProperty("客户端用户ID-更新时赋值")
    @NotNull(groups = {UpdateUserGroup.class}, message = "缺少用户id参数")
    private Long id;

    /*@ApiModelProperty("登录账号")
    @NotBlank(groups = {CreateUserGroup.class,UpdateUserGroup.class}, message = "登录账户不能为空")
    private String account;*/

    @ApiModelProperty("手机号")
    @NotBlank(groups = {CreateUserGroup.class,UpdateUserGroup.class}, message = "手机号不能为空")
    private String phone;

    @ApiModelProperty("密码--更新时不需赋值")
    @NotBlank(groups = {CreateUserGroup.class}, message = "登录密码不能为空")
    private String pwd;

    @ApiModelProperty("真实姓名")
    private String realName;

    /*@ApiModelProperty("时效类型 0 按日期开通 1 永久")
    @NotNull(groups = {CreateUserGroup.class,UpdateUserGroup.class}, message = "请选择实现类型")
    private Integer validType;

    @ApiModelProperty("有效结束日期(yyyy-MM-dd HH:mm:ss)-非永久必填")
    private String validToDate;*/

    @ApiModelProperty("所属公司名称")
    @NotBlank(groups = {CreateUserGroup.class,UpdateUserGroup.class}, message = "公司名称不能为空")
    private String companyName;

    @ApiModelProperty("部门名称")
    private String departmentName;

    @ApiModelProperty("邀请码")
    private String inviteCode;

    @ApiModelProperty("字段类型")
    private Integer filedType;


    public interface CreateUserGroup {};

    public interface UpdateUserGroup{}
}
